package com.funsport.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.funsport.dto.request.AdminUserCreateRequest;
import com.funsport.dto.request.AdminUserUpdateRequest;
import com.funsport.dto.response.AdminUserResponse;

import java.util.Map;

/**
 * 后台管理用户服务接口
 */
public interface AdminUserService {
    
    /**
     * 获取后台管理用户列表（分页）
     */
    Page<AdminUserResponse> getAdminUsers(Integer page, Integer pageSize, String keyword, String status);
    
    /**
     * 获取后台管理用户详情
     */
    AdminUserResponse getAdminUserById(Long id);
    
    /**
     * 创建后台管理用户
     */
    AdminUserResponse createAdminUser(AdminUserCreateRequest request);
    
    /**
     * 更新后台管理用户
     */
    AdminUserResponse updateAdminUser(AdminUserUpdateRequest request);
    
    /**
     * 删除后台管理用户
     */
    void deleteAdminUser(Long id);
    
    /**
     * 启用/禁用后台管理用户
     */
    void updateAdminUserStatus(Long id, String status);
    
    /**
     * 重置后台管理用户密码
     */
    void resetAdminUserPassword(Long id, String newPassword);
    
    /**
     * 获取后台管理用户统计数据
     */
    Map<String, Object> getAdminUserStatistics();
}

